package com.imust.springbootproject.service;

import com.imust.springbootproject.po.Blog;
import com.imust.springbootproject.vo.BlogQuery;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Map;

public interface BlogService {
    public abstract Blog getBlog(Long id);
    public abstract Blog getAndConvernt(Long id);
    public abstract Page<Blog> listBlog(Pageable pageable);
    public abstract Page<Blog> listBlog(Long tagId, Pageable pageable);
    public abstract Page<Blog> listBlog(String query, Pageable pageable);
    public abstract Page<Blog> listBlog(Pageable pageable, BlogQuery blog);
    public abstract List<Blog> listRecommendBlogTop(Integer size);
    public abstract Map<String, List<Blog>> archiveBlog();
    public abstract Long countBlog();
    public abstract Blog saveBlog(Blog blog);
    public abstract Blog updateBlog(Long id, Blog blog);
    public abstract void deleteBlog(Long id);
}
